package com.ruiysoft.entity.order;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 
 * </p>
 *
 * @author WenJialu
 * @since 2018-11-04
 */
@TableName("order_sku_info")
public class OrderSkuInfo extends Model<OrderSkuInfo> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField("order_id")
    private Long orderId;

    @TableField("order_no")
    private String orderNo;

    @TableField("sku_id")
    private Long skuId;

    @TableField("spu_id")
    private Long spuId;

    @TableField("sku_model")
    private String skuModel;

    @TableField("merchandise_name")
    private String merchandiseName;

    /**
     * 0：固定虚拟支付金额方式；1:自由虚拟支付金额方式
     */
    @TableField("price_strategy")
    private Integer priceStrategy = null;

    @TableField("list_price")
    private Long listPrice;

    @TableField("cost_price")
    private Long costPrice;

    @TableField("unit_price")
    private Long unitPrice;
    /**
     * 虚拟单价
     */
    @TableField("virtual_coin_price")
    private Long virtualCoinPrice;

    @TableField("profit_margin")
    private BigDecimal profitMargin;

    @TableField("main_category")
    private Long mainCategory;

    @TableField("shop_id")
    private Long shopId;

    @TableField("freight_template_id")
    private Long freightTemplateId;

    private Long creator;

    public Long getId() {
        return id;
    }

    public OrderSkuInfo setId(Long id) {
        this.id = id;
        return this;
    }
    public Long getOrderId() {
        return orderId;
    }

    public OrderSkuInfo setOrderId(Long orderId) {
        this.orderId = orderId;
        return this;
    }
    public String getOrderNo() {
        return orderNo;
    }

    public OrderSkuInfo setOrderNo(String orderNo) {
        this.orderNo = orderNo;
        return this;
    }
    public Long getSkuId() {
        return skuId;
    }

    public OrderSkuInfo setSkuId(Long skuId) {
        this.skuId = skuId;
        return this;
    }
    public Long getSpuId() {
        return spuId;
    }

    public OrderSkuInfo setSpuId(Long spuId) {
        this.spuId = spuId;
        return this;
    }
    public String getSkuModel() {
        return skuModel;
    }

    public OrderSkuInfo setSkuModel(String skuModel) {
        this.skuModel = skuModel;
        return this;
    }
    public String getMerchandiseName() {
        return merchandiseName;
    }

    public OrderSkuInfo setMerchandiseName(String merchandiseName) {
        this.merchandiseName = merchandiseName;
        return this;
    }
    public Long getListPrice() {
        return listPrice;
    }

    public OrderSkuInfo setListPrice(Long listPrice) {
        this.listPrice = listPrice;
        return this;
    }
    public Long getCostPrice() {
        return costPrice;
    }

    public OrderSkuInfo setCostPrice(Long costPrice) {
        this.costPrice = costPrice;
        return this;
    }
    public Long getUnitPrice() {
        return unitPrice;
    }

    public OrderSkuInfo setUnitPrice(Long unitPrice) {
        this.unitPrice = unitPrice;
        return this;
    }

    public Integer getPriceStrategy() {
        return priceStrategy;
    }

    public OrderSkuInfo setPriceStrategy(Integer priceStrategy) {
        this.priceStrategy = priceStrategy;
        return this;
    }

    public Long getVirtualCoinPrice() {
        return virtualCoinPrice;
    }

    public OrderSkuInfo setVirtualCoinPrice(Long virtualCoinPrice) {
        this.virtualCoinPrice = virtualCoinPrice;
        return this;
    }

    public BigDecimal getProfitMargin() {
        return profitMargin;
    }

    public OrderSkuInfo setProfitMargin(BigDecimal profitMargin) {
        this.profitMargin = profitMargin;
        return this;
    }
    public Long getMainCategory() {
        return mainCategory;
    }

    public OrderSkuInfo setMainCategory(Long mainCategory) {
        this.mainCategory = mainCategory;
        return this;
    }
    public Long getShopId() {
        return shopId;
    }

    public OrderSkuInfo setShopId(Long shopId) {
        this.shopId = shopId;
        return this;
    }
    public Long getFreightTemplateId() {
        return freightTemplateId;
    }

    public OrderSkuInfo setFreightTemplateId(Long freightTemplateId) {
        this.freightTemplateId = freightTemplateId;
        return this;
    }
    public Long getCreator() {
        return creator;
    }

    public OrderSkuInfo setCreator(Long creator) {
        this.creator = creator;
        return this;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "OrderSkuInfo{" +
        "id=" + id +
        ", orderId=" + orderId +
        ", orderNo=" + orderNo +
        ", skuId=" + skuId +
        ", spuId=" + spuId +
        ", skuModel=" + skuModel +
        ", merchandiseName=" + merchandiseName +
        ", listPrice=" + listPrice +
        ", costPrice=" + costPrice +
        ", unitPrice=" + unitPrice +
        ", profitMargin=" + profitMargin +
        ", mainCategory=" + mainCategory +
        ", shopId=" + shopId +
        ", freightTemplateId=" + freightTemplateId +
        ", creator=" + creator +
        "}";
    }
}
